//
// Created by JZYFC on 2021/11/12.
//

#ifndef TEAMPROJECT_CONSOLESETTINGS_H
#define TEAMPROJECT_CONSOLESETTINGS_H

#include <windows.h>

#include <stdbool.h>

enum COLOR {
    BLUE = FOREGROUND_BLUE, ///< 蓝色(字体)
    GREEN = FOREGROUND_GREEN, ///< 绿色(字体)
    RED = FOREGROUND_RED, ///< 红色(字体)
    BLUE_BACKGROUND = BACKGROUND_BLUE, ///< 蓝色(背景)
    GREEN_BACKGROUND = BACKGROUND_GREEN, ///< 绿色(背景)
    RED_BACKGROUND = BACKGROUND_RED, ///< 红色(背景)
};

/// 设置接下来输出的文字颜色
/// @pre 初始化 hStdout
/// @param color
/// @return
bool set_console_text_color(enum COLOR color);

/// 恢复控制台颜色
/// \return true如果成功
bool restore_prev_color();

/// 清除控制台
/// \return true如果成功
bool clear_console();

void update_stdout_handle(HANDLE mhStdout);

#endif //TEAMPROJECT_CONSOLESETTINGS_H
